﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ObviousCode.UI.Aspect.PluginLibrary;
using System.Drawing;

namespace ZooKeeperSample.Themes
{
    public class ZooRoundedBorderTheme : BasicTheme
    {
        public override bool RoundedBorder
        {
            get
            {
                return true;
            }
        }

        public override float BorderWidth
        {
            get
            {
                return 1f;
            }
        }

        public override Pen HoverBorderPen
        {
            get
            {
                Pen pen = base.HoverBorderPen;

                pen.DashOffset = 1f;
                pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash;

                return pen;
            }
        }

        public override Pen SelectedBorderPen
        {
            get
            {
                Pen pen = base.SelectedBorderPen;

                pen.DashOffset = 1f;
                pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash;

                return pen;
            }
        }

        public override bool ShadowOnSelected
        {
            get
            {
                return false;
            }
        }

        public override bool ShadowOnHovered
        {
            get
            {
                return false;
            }
        }

        public override System.Drawing.SizeF BorderInflate
        {
            get
            {
                return new SizeF(10f, 10f);
            }
        }

        public override ObviousCode.UI.Aspect.PluginLibrary.Interfaces.Direction Stacking
        {
            get
            {
                return ObviousCode.UI.Aspect.PluginLibrary.Interfaces.Direction.Horizontal;
            }
        }

        public override ObviousCode.UI.Aspect.PluginLibrary.Interfaces.TextImageOrder Style
        {
            get
            {
                return ObviousCode.UI.Aspect.PluginLibrary.Interfaces.TextImageOrder.ImageFirst;
            }
        }

        public override ObviousCode.UI.Aspect.PluginLibrary.Interfaces.AspectPluginBorderBehaviour BorderBehaviour
        {
            get
            {
                return ObviousCode.UI.Aspect.PluginLibrary.Interfaces.AspectPluginBorderBehaviour.Inflate;
            }
        }
    }
}
